#pragma once
#include <memory>
#include <stdexcept>
#include <vector>
#include "ShallowArray.h"
#include "LinkArray.h"
namespace LxCFD
{
	class DeepArray
	{
	public:
		~DeepArray();
		ShallowArray Create(int length);
		ShallowArray Create(const std::vector<int>& vector);
		ShallowArray Create(const ShallowArray& shallowtArray);
		ShallowArray Create(const LinkArray<int>::List& list);
		void Initialize(int listCapacity, int vectorCapacity);
		std::vector<std::vector<int>*> _StorageList;

	protected:
		int _VectorCapacity = 4096;
		int* RequireStorage(int length);
	};
}
// bool CheckIsNeedToNew(int length);